The present invention relates to a method and device for reading optical codes, in particular bar codes, to which the following description refers purely by way of example.
Various bar code reading techniques are known, the most commonly used of which provides, as shown in FIG. 1, for scanning a line running across the whole of the bar code. This technique is used in particular when the bar code is oriented a certain way with respect to the scanning line, and gives reliable results when the bar code is inclined with respect to the scanning line by less than a given angle (e.g. .+-.45.degree. for oversquare section codes). Otherwise, the scanning line fails to cross one or more of the bar code elements (bars or spaces).
Randomly oriented bar codes, e.g. applied to a product placed randomly on a conveyor belt, on the other hand, are read by scanning as described above, but in two perpendicular directions to cover an angle of 180.degree. ensuring the bar code is decoded however oriented.
Another equally common technique provides for partially scanning and reconstructing the bar code using known algorithms; that is, as shown in FIG. 2, for performing a number of scans along parallel scanning lines inclined with respect to the bar code, and each extending across only a portion of the code.
Each scan supplies a portion of the bar code, and the scanning lines are so arranged that a given portion of the code is crossed by different portions of successive scanning lines. Given the individual portions of the code supplied by individual scans, the bar code as a whole may therefore be decoded using a known so-called pattern matching algorithm.
The partial scans are commonly performed by moving the reader and the code with respect to each other, in particular by moving the code with respect to the reader, which repeatedly scans the code along a single scanning line.
The above bar code reading techniques are implemented using a reader comprising a laser light source, and a photodetector device located close to the light source and designed to operate solely with diffused light. More specifically, the laser light source generates a light ray which impinges on the bar code in a direction other than perpendicular to the code plane, so that the light reflected by the code travels in a different direction from that of the incident ray, and the photodetecting device only receives the light diffused by the code.
Under normal operating conditions of readers of the above type, however, light may be reflected in the propagation direction of the incident ray, thus resulting in saturation of the photodetector device and associated electronic circuits, and hence in "blinding" of the reader.
To overcome this drawback, some readers feature polarizing filters for eliminating the reflected rays re-entering the reader and generated by most known reflecting surfaces.
Some reflecting materials, however, generate reflected rays which cannot be eliminated by polarizing filters, as when the bar code is applied to or covered with a plastic surface generating considerable reflected light which is so polarized as to be unfilterable.
As such, currently used readers are not altogether immune to blinding and hence failure to read the bar code.
Moreover, the presence of unfilterable reflected light, even if not such as to actually blind the reader, undoubtedly endangers the reading when using the two perpendicular scanning direction technique, and particularly when using the partial scanning technique, the fairly complex sophisticated reconstruction algorithm of which demands optimum reading conditions and successful decoding of the bar code portion swept at each partial scan.